package com.mvp.shq.washer.ui.home;

import com.mvp.shq.washer.base.BaseModel;
import com.mvp.shq.washer.base.BasePresenter;
import com.mvp.shq.washer.base.BaseView;
import com.mvp.shq.washer.entity.Banner;
import com.mvp.shq.washer.entity.OrderInfo;
import com.mvp.shq.washer.entity.result.BaseResult;
import com.mvp.shq.washer.entity.Washer;
import com.mvp.shq.washer.entity.result.WasherInfoResult;

import java.util.List;

import io.reactivex.Observable;

/**
 * Created by Administrator on 2017/8/19.
 */

public interface HomeConstract {
    interface Model extends BaseModel{
        Observable<BaseResult<List<Banner>>> banner();
        Observable<BaseResult<WasherInfoResult>> getWasherInfo(String token,String washerNo);
        Observable<BaseResult<OrderInfo>> getOrder(String token,String userId);
        Observable<BaseResult<Integer>> getRestTime(String token,String orderNo);
    };
    interface View extends BaseView{
        void getBannerSuccess(List<Banner> banners);
        void getBannerFail(String msg);
        void getWasherInfoS(WasherInfoResult result);
        void setBanner();
        void hasOrder(OrderInfo orderInfo);
        void notOrder();
    };
    public abstract class Presenter extends BasePresenter<Model,View>{
        public abstract void banner();
        public abstract void getWasherInfo(Washer washer);
        public abstract void getOrderInfo();
        public abstract void getRestTime(String orderNo);
    }
}
